// 1、通过结构体 向文件内格式化写入数据

#include <stdio.h>
#include <stdlib.h>
FILE *file_open(const char *path, const char *mode);
int file_close(FILE **fp);
typedef struct Elenemt_data
{
    char name[128]; // 名字
    int age;        // 年龄
    int sco;        // 成绩
} Elenemt_data;

Elenemt_data data[4] = {
    {"张三", 18, 100},
    {"李四", 19, 90},
    {"王五", 20, 80},
    {"赵六", 21, 70},
};

int main()
{

    FILE *fp = file_open("data.txt", "w");
    for (int i = 0; i < 4; i++)
    {
        fprintf(fp, "姓名：%s 年龄：%d 成绩：%d\n", data[i].name, data[i].age, data[i].sco);
    }
    file_close(&fp);
    return 0;
}

FILE *file_open(const char *path, const char *mode)
{
    FILE *fp = fopen(path, mode);
    if (NULL == fp)
    {
        printf("文件创建失败\n");
        exit(-1);
    }
    return fp;
}

int file_close(FILE **fp)
{
    fclose(*fp);
    *fp = NULL;
}